package net.siufung.security.api.service;

import net.siufung.core.model.consts.Constants;

/**
 * 密码验证接口
 * @author 陈建峰
 * @since 2022/2/15 10:14 下午
 */
public interface ICurrentUserPasswdService {

    /**
     * 密码加密
     * @param password 密码
     * @return 加密后的密码
     */
    String encode(String password);

    /**
     * 密码匹配
     * @param rawPassword 新的密码
     * @param encodedPassword 加密后的密码
     * @return boolean
     */
    boolean matches(String rawPassword, String encodedPassword);

    /**
     * 获得初始化加密密码
     * @return 初始化加密密码
     */
    default String getInitPassword(){
        return this.encode(Constants.INIT_PASSWORD);
    }



}
